An operation (referred to as duplication detection, hereinafter) is present that when a network layer address (referred to as an IP address, hereinafter) is to be imparted newly to a communication device, it is checked whether the IP address to be imparted is duplicated on the same network. Among such duplication detection methods, a method is known which relates to IPv4 and in which duplication detection is performed using Address Resolution Protocol (abbreviated as ARP, hereinafter) (see, for example, Non-Patent Reference 1).
<ARP>
Supplementary explanation is given below for the ARP. The ARP is a protocol for resolving a data link layer address and a network layer address, in which packets of the format shown in FIG. 1 are exchanged between the communication devices so that the address are resolved. Further description is given below with reference to FIG. 1.
(a) DL Header Part 101
A DL header part 101 is a data link layer protocol header, and has information concerning the destination and the transmitting source in terms of the data link layer protocol address (referred to as a DL address, hereinafter) and concerning the network layer protocol type. Further, in a case that the data link layer protocol is Ethernet (registered trademark), when a packet is to be transmitted to all communication devices on the same network, “FF:FF:FF:FF:FF:FF” (referred to as an Ether broadcast address, hereinafter) is specified as the destination DL address. Further, when a packet is to be transmitted to a specific communication device, the DL address of the communication counter unit is set up as the destination DL address. At this time, the transmitting source DL address is the DL address of the transmitting source communication device.
(b) ARP Unit 102
An ARP unit 102 is further composed of a header part 103 and a data part 104.
The header part 103 has: information concerning the data link layer protocol; information concerning the network layer protocol; the lengths of the DL address and the network layer protocol address (referred to as a NW address, hereinafter) used in these protocols; and ARP identifier information indicating whether the present ARP packet is a packet (referred to as an ARP request packet, hereinafter) that requests information or a packet (referred to as an ARP reply packet, hereinafter) that provides information.
The data part 104 is composed of the following elements.
A transmitting source DL address 105 specifies the data link layer address of a transmitting source communication device. A transmitting source IP address 106 specifies the network layer address of the transmitting source communication device. A destination DL address 107 specifies the data link layer address of a communication device serving as the target of address resolution. When the address is un-resolved, “00:00:00:00:00:00” is specified in an ARP packet that requests resolution. A destination IP address 108 specifies the network layer address of the communication device serving as the target of address resolution. When the destination IP address matches the network layer address of the communication device itself in the case of an ARP request packet, an ARP reply packet is to be transmitted.
<Duplication Detection Method Using ARP>
FIG. 2 shows a simple network configuration. A network 201 is a local area network (referred to as a LAN, hereinafter), and may be cable or wireless. A communication device 202 (referred to as a device A in some cases, hereinafter), a communication device 203 (referred to as a device B in some cases, hereinafter), and communication devices 204-1, 204-2, . . . , 204-N are communication devices having a TCP/IP communication function, and are connected to the network 201. FIG. 3 describes a duplication detection processing sequence using ARP in a case that in this network environment, the communication device 203 (device B) tries to set up the same IP address as the communication device 202 (device A).
When setting up an IP address, the communication device 203 (device B) checks whether the same IP address is present on the network 201 by using the own duplication detection function. At this time, an ARP request packet concerning the IP address to be set up from now on is transmitted to all addresses of communication devices (referred to as broadcast, hereinafter) on the network 201 (#3BF). Each communication device having received this broadcast-addressed ARP request packet checks whether the IP address is the same as its own setting. In the network 201, the communication device 202 (device A) sets up the same IP address, and hence the IP address is duplicated. At this time, the communication device 202 (device A) transmits an ARP reply packet to the address of the communication device 203 (device B) (referred to as unicast, hereinafter) (#3AB). The communication device 203 (device B) having received this unicast ARP reply packet determines that the IP address to be set up is used already for a communication device on the network 201, and hence abandons the use of this IP address.
Further, as duplication detection methods using this ARP, two kinds of methods are present. The difference between the two kinds is a difference in the packet broadcasted from the communication device B203.
(1) Method that Gratuitous ARP (abbreviated as a GARP, hereinafter) is transmitted (see, for example, Non-Patent Reference 2)
(2) Method in which ARP (referred to as 0ARP, hereinafter) is broadcasted in which 0's are inserted into a transmitting source IP address (see, for example, Non-Patent Reference 3)
The method (1) is adopted in the Windows (registered trademark) OS (see, for example, Non-Patent Reference 4). Further, the method (2) is adopted in client installation of Dynamic Host Configuration Protocol (abbreviated as DHCP, hereinafter). Further, in BSD OSs′, the GARP of the method (1) is transmitted at the time of address setting for a purpose other than the duplication detection. Here, also in a home network, since the possibility is not negligible that the two duplication detection methods are used in a mixed manner, a it should be expected that a method using the GARP of the method (1) is adopted.
<GARP>
Supplementary explanation is given below for the GARP. The GARP is used also for duplication detection. However, it has originally been set forth for another purpose. The purpose of the GARP is broadcast transmission onto the network 201. That is, the purpose is to rewrite the table (referred to as an ARP table, hereinafter) of the communication counter unit, which is managed by a communication device on the network 201 like communication devices such as the communication devices 204-1, 204-2, . . . , 204-N, the communication devices A202 and the communication device B203. Each communication device having received a GARP, like the communication devices 204-1, 204-2, . . . , 204-N, the communication device A202 and the communication device B203, searches the ARP table on the basis of the transmitting source IP address 106 in the GARP. Then, when an entry having the transmitting source IP address 106 is present in the ARP table, the entry is updated with the transmitting source DL address 105 of the received GARP (see, for example, Non-Patent Reference 2).
Non-Patent Reference 1: Standard Specification “RFC826”, IETF, [Searched on May 19, 2007 (H17)], Internet <URL:http://www.ietf.org/rfc/rfc826.txt>
Non-Patent Reference 2: Standard Specification “RFC2002”, IETF, [Searched on May 19, 2007 (H17)], Internet <URL: http://www.ietf.org/rfc/rfc2002.txt>
Non-Patent Reference 3: Standard Specification “RFC2131”, IETF, [Searched on May 19, 2007 (H17)], Internet <URL:http://www.ietf.org/rfc/rfc2131.txt>
Non-Patent Reference 4: Microsoft Windows (registered trademark) 2000 Technical Reference, “TCP/IP Protocol & Service Guide”=pp. 74-75